This invention relates to communication systems and, more particularly, to acoustic echo canceler circuits.
Hands-free phone systems, sometimes referred as speakerphones, are used widely around the world for audio-conferencing. In such systems, acoustic echo results from the reflection of sound waves and acoustic coupling between the microphone(s) and loudspeaker. The speech of the far-end caller is transmitted by the loudspeaker and is picked up by the microphone after it bounces off the inside surfaces of the room. This echo disturbs the natural flow of a conversation, because if not suppressed, the caller will hear his or her own voice after some delay.
To solve this problem echo cancellation techniques based on Digital Signal Processing (DSP) are used to eliminate the echo and allow duplex communication. An echo canceler continuously estimates the echo path characteristic between the loudspeaker and microphone and subtracts an echo estimate from the real echo.
The impulse response of the echo path is a combination of several factors. The cabinets housing the loudspeakers and the loudspeakers themselves have specific acoustic characteristics (resonances) reflected in the echo path. The direct coupling between loudspeaker and microphone contributes to the echo path (direct path). Finally the environment where the sound bounces off makes its contribution to the echo path (indirect path).
Acoustics paths are sensitive to any change in the space around the acoustic transducers. For example the impulse response can vary in time as the user moves or if the acoustic environment changes because some object is placed, for example, near the microphone. For this reason the echo canceler must monitor and adapt continuously its estimate of the echo path.
The theory of operation of Acoustic Echo Cancelers is well depicted in Furui, S., xe2x80x9cAdvances in Speech Signal Processingxe2x80x9d, Marcel Dekker, Inc, New York, 1992, Chapter 11).
FIG. 1 illustrates a typical scenario for an Acoustical Echo Canceler and the different echo paths. Most of the commercial echo canceler systems use an Adaptive Filter 12 to estimate the echo path. The filter is implemented in software using a Digital Signal Processor connected to the acoustical transducers via Analog to Digital and Digital to Analog Converters 14, 16. Filter 12 is used to estimate the echoes caused by loud speaker 18, microphone 20, converters 14, 16 and the environment 22. The structure of the filter is normally a Finite Impulse Response (FIR) filter also known in the literature as xe2x80x9ctransversalxe2x80x9d or xe2x80x9call zeroxe2x80x9d filter. FIR filters are stable under specific constraints and therefore are very popular in adaptive systems.
One of the disadvantages using FIR filters is that very long filters are required to model accurately the echo paths when spectral peaks (resonances) are present in the frequency domain. An Infinite Impulse Response (IIR) filter could be much suitable than a FIR filter for modeling spectral peaks, but stability problems arise when making this kind of filter adaptive.
Modifications to the single adaptive filter approach have been proposed. Amano, F. in U.S. Pat. No. 5,136,577 uses a sub-band structure to speed the convergence of the adaptive algorithm and to reduce the computation effort. Basically the echo signal is processed in several frequency sub-bands using analysis filters. After cancellation in each band the signal is reconstructed using synthesis filters. Shaw, D. in U.S. Pat. No. 5,610,909 and Duttweiler; D. in U.S. Pat. No. 5,631,899 disclose multistage echo cancelers in which two adaptive filters are used to model the echo path. The filters are connected in tandem and they model different time variant characteristics of the echo path. Both filters are adaptive and operate simultaneously but independently. In systems adapting with voice signals this may introduce uncertainty about when to adapt each filter specially when the first filter has no feedback from the second one.
This invention is based on the recognition that modeling of the intrinsic characteristics of the cabinet adversely affects the capability of the adaptive filter in modeling the impulse response of the room. Specifically when the coefficients are adapted using voice signals during a conversation in a conventional system, the filter must be reset very often due to misdetection of double talk conditions. Reset of the coefficients implies restarting the process of estimating the fixed characteristics and the time variant characteristics of the echo path from the beginning. Therefore, it is desirable to separate the modeling of the intrinsic characteristics of the cabinet from the adaptive modeling of the impulse response of the room so that the adaptive modeling of the dynamic environment in the room is not adversely affected by the modeling of the intrinsic and substantially fixed characteristics of the cabinet.
The modeling of the intrinsic characteristics of the loud speaker and microphone (as well as any cabinet that may be used) may be performed by an estimation of echos along a direct acoustic path between the loud speaker and the microphone. Information of this estimate may be used to derive a first signal. In one embodiment, the first signal may embody the estimate. In another embodiment, the first signal may embody the inverse of the estimate. A second signal may be provided as an estimation of echos caused by indirect paths through the environment. Preferably, the two signals may be provided by two separate and distinct filters. The effects of the echos may then be cancelled by means of the first and second signals.
By separating the modeling of echoes caused by the cabinet and its contents from the modeling of echoes caused by the environment, filters that may be used in the modeling process can be optimized. For example, since the acoustic characteristics of the cabinet and its contents do not typically change when the cabinet is used in the phone system, such characteristics may be modeled by means of a fixed IIR filter which is beneficial since a short filter may be used to accurately estimate the direct echo path. Since a filter used for estimating the echo caused by the environment does not need to also estimate echos caused by the cabinet box and its contents, such filter can also be simplified.